package com.ruoyi.task.service;

import com.ruoyi.task.domain.SceneCameraParamsInfo;
import com.ruoyi.task.domain.SceneParamsInfo;
import java.util.List;
import java.util.Map;

/**
 * 场景参数管理Service接口
 *
 * @author admin
 * @date 2025-08-20
 */
public interface ISceneParamsInfoService
{
    /**
     * 查询场景参数管理
     *
     * @param id 场景参数管理主键
     * @return 场景参数管理
     */
    public SceneParamsInfo selectSceneParamsInfoById(Long id);

    /**
     * 查询场景参数管理列表
     *
     * @param sceneParamsInfo 场景参数管理
     * @return 场景参数管理集合
     */
    public List<SceneParamsInfo> selectSceneParamsInfoList(SceneParamsInfo sceneParamsInfo);

    /**
     * 新增场景参数管理
     *
     * @param sceneParamsInfo 场景参数管理
     * @return 结果
     */
    public int insertSceneParamsInfo(SceneParamsInfo sceneParamsInfo);

    /**
     * 修改场景参数管理
     *
     * @param sceneParamsInfo 场景参数管理
     * @return 结果
     */
    public int updateSceneParamsInfo(SceneParamsInfo sceneParamsInfo);

    /**
     * 批量删除场景参数管理
     *
     * @param ids 需要删除的场景参数管理主键集合
     * @return 结果
     */
    public int deleteSceneParamsInfoByIds(Long[] ids);

    /**
     * 删除场景参数管理信息
     *
     * @param id 场景参数管理主键
     * @return 结果
     */
    public int deleteSceneParamsInfoById(Long id);

    /**
     * 查询场景摄像头参数管理
     *
     * @param id 场景摄像头参数管理主键
     * @return 场景摄像头参数管理
     */
    public SceneCameraParamsInfo selectSceneCameraParamsById(Long id);

    /**
     * 查询场景摄像头参数管理列表
     *
     * @param sceneCameraParams 场景摄像头参数管理
     * @return 场景摄像头参数管理集合
     */
    public List<SceneCameraParamsInfo> selectSceneCameraParamsList(SceneCameraParamsInfo sceneCameraParams);

    /**
     * 新增场景摄像头参数管理
     *
     * @param sceneCameraParams 场景摄像头参数管理
     * @return 结果
     */
    public int insertSceneCameraParams(SceneCameraParamsInfo sceneCameraParams);

    /**
     * 修改场景摄像头参数管理
     *
     * @param sceneCameraParams 场景摄像头参数管理
     * @return 结果
     */
    public int updateSceneCameraParams(SceneCameraParamsInfo sceneCameraParams);

    /**
     * 批量删除场景摄像头参数管理
     *
     * @param ids 需要删除的场景摄像头参数管理主键集合
     * @return 结果
     */
    public int deleteSceneCameraParamsByIds(Long[] ids);

    /**
     * 删除场景摄像头参数管理信息
     *
     * @param id 场景摄像头参数管理主键
     * @return 结果
     */
    public int deleteSceneCameraParamsById(Long id);


    /**
     * 查询场景参数管理配置（用于推送分析任务）
     * @param sceneCameraParams
     * @return
     */
    public Map<String, String> querySceneParamsConfig(SceneCameraParamsInfo sceneCameraParams);
}
